#ifndef __BUZZER_H
#define __BUZZER_H

#include "stm32f10x.h"                  // Device header

#define BUZZER_PIN  GPIO_Pin_9
#define BUZZER_PORT GPIOB
#define BUZZER_CLK  RCC_APB2Periph_GPIOB

//音调频率Hz                                             
#define L1  262   //低调　do 的频率
#define L2  296   //低调　re 的频率
#define L3  330   //低调　mi 的频率
#define L4  349   //低调　fa 的频率
#define L5  392   //低调　sol 的频率
#define L6  440   //低调　la 的频率
#define L7  494   //低调　si 的频率
                                               
#define M1  523   //中调　do 的频率
#define M2  587   //中调　re 的频率
#define M3  659   //中调　mi 的频率
#define M4  699   //中调　fa 的频率
#define M5  784   //中调　sol的频率
#define M6  880   //中调　la 的频率
#define M7  988   //中调　si 的频率
 
#define H1  1048  //高调　do 的频率
#define H2  1176  //高调　re 的频率
#define H3  1320  //高调　mi 的频率
#define H4  1480  //高调　fa 的频率
#define H5  1640  //高调　sol的频率
#define H6  1760  //高调　la 的频率
#define H7  1976  //高调　si 的频率
 
#define Z0  0

typedef struct
{
    uint8_t duty_cycle; //占空比
    uint16_t freq;      //频率
} PWM_Config_t;

void Buzz_Init(void);
void PWM_SetFreq(uint16_t freq);
void PWM_DutyCycleSet(uint8_t val);

#endif
